package com.soft.javase.ch09.set;

import java.util.TreeSet;

/**
 * @author wangzhisen
 * @Desc TODO
 * @date 2025/5/5
 *
 * Set 接口   -   Map<K,V> key键对应的就是Set
 * 1.存取顺序不一致
 * 2.不允许重复存放元素
 *
 * TreeSet 实现类
 * 1.存取顺序不一致
 * 2.进行对元素进行排序
 *     2.1 容器自身具备比较性，创建容器时需要传入比较器Comparator，重写compare()  优先（就近原则）
 *     2.2 元素自身具备比较性，实现Comparable接口，重写compareTo()
 * 3.不允许重复存放元素，根据比较的原则return 0;
 * 4.线程不安全
 * 5.不允许存放null值
 * 6.数据结构：“红黑树”
 */
public class TreeSetDemo {

    public static void main(String[] args) {
        TreeSet<String> set = new TreeSet();
        set.add("aab");
        set.add("aad");
        set.add("aaa");
        set.add("aac");
        /*set.add(null);//NullPointerException*/
        set.add("aaa");
        System.out.println(set);
    }
}
